
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
from info import create_app, db



import logging
from flask import current_app

from info.models import User

app = create_app("development")

from info import redis_store

# 6.创建数据库管理对象,将app交给管理对象管理
manager = Manager(app)

# 7.数据库迁移初始化
Migrate(app, db)

# 8.添加迁移命令
manager.add_command("db", MigrateCommand)


# 9.自定义创建管理员用户的方法
@manager.option('-n', '-name', dest='name')
@manager.option('-p', '-password', dest='password')
def createsuperuser(name, password):
    """创建管理员用户"""
    if not all([name, password]):
        print("参数不足")
        return

    user = User()
    user.mobile = name
    user.nick_name = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        print("创建成功")
    except Exception as e:
        print(e)
        db.session.rollback()


if __name__ == '__main__':
    manager.run()
